package com.yxinsur.imc.business.excel;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxinsur.imc.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 首期手续费核算结果 导出
 *
 * @author imc
 * @date 2021-05-14
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RecnSupplierDetailsTemplate implements Serializable {

    private static final long serialVersionUID = 1L;

    @Excel(name = "序号", cellType = Excel.ColumnType.NUMERIC, prompt = "数据行请保证序号不能为空")
    private String index;

    @Excel(name = "保单号*", type = Excel.Type.ALL, prompt = "保单号不能为空")
    private String policyCode;

    @Excel(name = "险种内部代码*", type = Excel.Type.ALL, prompt = "险种名称不能为空")
    private String insCode;

    @Excel(name = "险种名称*", type = Excel.Type.ALL, prompt = "险种代码不能为空")
    private String riskName;

    @Excel(name = "保单缴费次数*", type = Excel.Type.ALL, prompt = "保单缴费次数不能为空")
    private Long payNum;

    @Excel(name = "缴费期限*", type = Excel.Type.ALL, prompt = "缴费期限不能为空")
    private String chargePeriodValue;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "承保日期*", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.ALL, prompt = "承保日期不能为空，格式为yyyy-mm-dd")
    private Date insureDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "客户回执签收时间*", width = 30, dateFormat = "yyyy-MM-dd", type = Excel.Type.ALL, prompt = "客户回执签收时间不能为空，格式为yyyy-mm-dd")
    private Date custAckDate;

    @Excel(name = "险种保费*", type = Excel.Type.ALL, prompt = "险种保费不能为空")
    private BigDecimal prem;

    @Excel(name = "保单所在年度*", type = Excel.Type.ALL, prompt = "保单所在年度不能为空")
    private Long policyYear;

    @Excel(name = "供应商总手续费（元）", type = Excel.Type.ALL)
    private BigDecimal supplierTotalFee;

    @Excel(name = "错误信息", type = Excel.Type.ALL)
    private String errorMsg;
}
